package com.example.pro3_reactor;

import reactor.core.publisher.Flux;

/**
 * @program: reactivePro
 * @description: 异步创建，与前面一个generate不同
 * @author: zy
 * @create: 2025-04-26 20:27
 */
public class App3_async_create {
    public static void main(String[] args) {
        //异步创建, 异步创建的话，需要自己创建线程，然后在里面执行.
        // 执行的过程中，需要自己控制什么时候结束，什么时候完成。
        Flux.create(sink->{
            new Thread(()->{
                for (int i = 0; i < 10; i++) {
                    sink.next(i);
                    if(i==6){
                        sink.complete();
                    }
                }
            }).start();
        }).subscribe(System.out::println);
    }
}
